<?php
/**
 * @package   auto_occasion
 * @subpackage 
 * @author    CMS
 * @copyright  2011
 * @license    All rights reserved
 */

class dossierSrv {



     /**
     * Fonction permettant de sauvegarder les dossiers
     * @return object $dossier
     *
     */
    public function ajouter ($dossier) {
        // instanciation de la factory
        $maFactory = jDao::get("commun~ao_dossier");
        $records   = jDao::createRecord("commun~ao_dossier");

        $records->dossier_name    = $dossier->dossier_name;
        $records->dossier_content = $dossier->dossier_content;
        $records->dossier_img     = $dossier->dossier_img;
        
        if ($maFactory->insert($records)) {
            return $records->dossier_id;
        }

    }
     /**
     * Fonction permettant de modifier les dossiers
     * @return object $dossier
     *
     */
    public function modifier ($dossier) {
        // instanciation de la factory
        $maFactory = jDao::get("commun~ao_dossier");
        $records   = $maFactory->get($dossier->dossier_id);

        $records->dossier_name    = $dossier->dossier_name;
        $records->dossier_content = $dossier->dossier_content;
        $records->dossier_img     = $dossier->dossier_img;
        

        if ($maFactory->update($records)) {
            return $dossier->dossier_id;
        }

    }
     /**
     * Fonction permettant de sauvegarder les chapitres d'un  dossier
     * @return object $chapitre
     *
     */
    public function ajouterChapitre ($chapitre) {
        // instanciation de la factory
        $maFactory = jDao::get("commun~ao_dossier_chapitre");
        $records   = jDao::createRecord("commun~ao_dossier_chapitre");

        $records->dossier_id    = $chapitre->dossier_id;
        $records->chap_name     = $chapitre->chap_name;
        $records->chap_content  = $chapitre->chap_content;
        $records->chap_img      = $chapitre->chap_img;
        
        if ($maFactory->insert($records)) {
            return $records->chap_id;
        }

    }
     /**
     * Fonction permettant de modifier les chapitres d'un  dossier
     * @return object $chapitre
     *
     */
    public function modifierChapitre ($chapitre) {
        // instanciation de la factory
        $maFactory = jDao::get("commun~ao_dossier_chapitre");
        $records   = $maFactory->get($chapitre->chap_id);

        $records->dossier_id    = $chapitre->dossier_id;
        $records->chap_name     = $chapitre->chap_name;
        $records->chap_content  = $chapitre->chap_content;
        $records->chap_img      = $chapitre->chap_img;
        

        if ($maFactory->update($records)) {
            return $chapitre->chap_id;
        }

    }


    /**
     * -Récupère les dossier et trie 
     * @param array $_toParams
     * @return array 
     */
    public static function reOrder ($_toParams) {
        
        $oFac = jDao::get('commun~ao_dossier') ;
        
        $tiFicheIds = array_key_exists('tiFicheIds', $_toParams) ? $_toParams['tiFicheIds'] : array() ;

        
        foreach ($tiFicheIds as $iKey => $iFicheId) {
            $oRec = $oFac->get($iFicheId) ;
            $oRec->dossier_order = $iKey ;
            $oFac->update($oRec) ;
        }
        
    }
    /**
     * -Récupère les chapitres des dossier et trie 
     * @param array $_toParams
     * @return array 
     */
    public static function reOrderChap ($_toParams) {
        
        $oFac = jDao::get('commun~ao_dossier_chapitre') ;
        
        $tiFicheIds = array_key_exists('tiChapIds', $_toParams) ? $_toParams['tiChapIds'] : array() ;

        
        foreach ($tiFicheIds as $iKey => $iFicheId) {
            $oRec = $oFac->get($iFicheId) ;
            $oRec->chap_order = $iKey ;
            $oFac->update($oRec) ;
        }
        
    }


    /**
     * Liste des dossier par position
     * @return array 
     */
    public static function liste () {
        
        $oFac = jDao::get('commun~ao_dossier') ;
        $oCond = jDao::createConditions() ;
        $oCond->addItemOrder('dossier_order') ;
        
        return $oFac->findBy($oCond)->fetchAll() ;
    }
}